from genki import dog

from gpio import gpio_init,set_func,set_dir,get_input
#初始化GPIO引脚
gpio_init(2)        #用来接收语音模块->前进
gpio_init(5)        #用来接收语音模块->后退
gpio_init(6)        #用来接收语音模块->左转
gpio_init(7)        #用来接收语音模块->右转
gpio_init(8)        #用来接收语音模块->转圈
gpio_init(11)       #用来接收语音模块->握手
gpio_init(12)       #用来接收语音模块->。。。
gpio_init(13)       #用来接收语音模块->。。。
gpio_init(14)       #用来接收语音模块->。。。
#设置GPIO引脚的方向，输入还是输出     #0为输入，1为输出
set_dir(2, 0)
set_dir(5, 0)
set_dir(6, 0)
set_dir(7, 0)
set_dir(8, 0)
set_dir(11, 0)
set_dir(12, 0)
set_dir(13, 0)
set_dir(14, 0)
#获取GPIO引脚输入电压的高低。0为低电压，1为高电压
'''return: 返回结果类型为tuple。包含两个值(state, input),
                state获取结果状态，0为成功，其他为失败。
                input为电压的高低值. 0为低电压，1为高电压。'''
get_input(2)
get_input(5)
get_input(6)
get_input(7)
get_input(8)
get_input(11)
get_input(12)
get_input(13)
get_input(14)


if __name__ == '__main__':          #0为低电压，1为高电压
    #print(get_input(2))
    if get_input(2)==(0,1):     #前进
        dog.exec('{"type": 3, "count": 30, "list": [[31, 96, 41, 134, 50, 130, 19, 100, 50], [34, 108, -27, 120, -13, 124, 23, 112, 50], [49, 129, -1, 106, 8, 105, 39, 133, 50], [30, 135, 20, 102, 31, 98, 21, 137, 50], [-25, 114, 31, 125, 41, 121, -39, 113, 50]]}')
    if get_input(5)==(0,1):     #后退
        dog.exec('{"type": 3, "count": 30, "list": [[63, 139, 23, 113, 34, 109, 54, 144, 50], [51, 131, -29, 119, -15, 123, 42, 135, 50], [35, 111, 35, 149, 43, 146, 24, 114, 50], [13, 117, 52, 143, 61, 138, 3, 117, 50], [3, 135, 30, 123, 40, 119, -8, 128, 50]]}')
    if get_input(6)==(0,1):     #左转
        dog.exec('{"type": 3, "count": 30, "list": [[63, 139, 23, 113, 50, 130, 19, 100, 50], [51, 131, -29, 119, -13, 124, 23, 112, 50], [35, 111, 35, 149, 8, 105, 39, 133, 50], [30, 135, 20, 102, 31, 98, 21, 137, 50], [-25, 114, 31, 125, 41, 121, -39, 113, 50]]}')
    if get_input(7)==(0,1):     #右转
        dog.exec('{"type": 3, "count": 30, "list": [[31, 96, 41, 134, 34, 109, 54, 144, 50], [34, 108, -27, 120, -15, 123, 42, 135, 50], [49, 129, -1, 106, 43, 146, 24, 114, 50], [13, 117, 52, 143, 61, 138, 3, 117, 50], [3, 135, 30, 123, 40, 119, -8, 128, 50]]}')